#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
int main()
{
  //close(1);
  //umask(0);
  ////fd=1
  //int fd=open("log.txt", O_WRONLY|O_CREAT,0666 );
  //if(fd<0)
  //{
  //  perror("open");
  //  return 1;
  //}

  ////c 
  //printf("hello world\n");
  //fprintf(stdout,"hello fprintf!!\n");
  //fputs("hello fputs %d %f %c\n",stdout);
  //fflush(stdout);
  //close(fd);
  
 /* close(0);
  umask(0);
  //fd=1
  int fd=open("log.txt", O_RDONLY );
  if(fd<0)
  {
    perror("open");
    return 1;
  }

  //c 
  printf("hello world\n");
  fprintf(stdout,"hello fprintf!!\n");
  fputs("hello fputs %d %f %c\n",stdout);
  fflush(stdout);
  
  char buffer[100];
  fgets(buffer,100,stdin);
  printf("%s\n",buffer);


  close(fd);*/ 


 //close(1);
 //umask(0);
 ////fd=1
 //int fd=open("log.txt", O_APPEND|O_WRONLY  );
 //if(fd<0)
 //{
 //  perror("open");
 //  return 1;
 //}

 ////c 
 //printf("hello world\n");
 //fprintf(stdout,"hello fprintf!!\n");
 //fputs("hello fputs %d %f %c\n",stdout);
 //fflush(stdout);//重定向了，往文件写采用的是全缓冲，缓冲区没满不会刷新到内核   
 //close(fd);
 
 
 umask(0);
 //fd=1
 int fd=open("log.txt", O_APPEND|O_WRONLY  );
 if(fd<0)
 {
   perror("open");
   return 1;
 }
 dup2(fd,1);
 //c 
 printf("hello world\n");
 fprintf(stdout,"hello fprintf!!\n");
 fputs("hello fputs %d %f %c\n",stdout);
 fflush(stdout);//重定向了，往文件写采用的是全缓冲，缓冲区没满不会刷新到内核   
 close(fd);
return 0;
}
